package cn.edu.wynu.apis.collections.lists;

import cn.edu.wynu.apis.common.CommonFunctions;

import java.util.List;

public class ListBase {
    public static void main(String[] args) {
        // 1. 创建列表,这个列表既不是ArrayList,也不是LinkedList,而是一个不可变列表
        // 看完一个代码内部实现后,想要跳转回来: ctrl + alt + 左箭头
        List<Integer> list = List.of(1, 2, 3);
        System.out.println(list);

        // 2.遍历列表(索引遍历)
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println();
        // 2.1 遍历列表(for each遍历,迭代器遍历) 推荐使用,因为更简洁,性能更好
        for (Integer i : list) {
            System.out.print(i + " ");
        }
        System.out.println();

        CommonFunctions.cutBlock("列表转换为数组");
        // 列表转换为数组,参数是一个空数组,返回值是一个新数组
        Integer[] array = list.toArray(new Integer[0]);
        for (Integer i : array) {
            System.out.print(i + " ");
        }
        System.out.println();

        CommonFunctions.cutBlock("数组转换为列表");
        // 数组转换为列表
        List<Integer> list2 = List.of(array);
        System.out.println(list2);
    }
}
